package com.nbgroup.pojo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.nbgroup.pojo.common.Role;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
    @TableId("user_id")
    private Integer userId; // 用户ID，使用Long类型来存储bigint
    private Integer deptId; // 部门ID，同样使用Long类型
    private String userName; // 用户名，使用String类型来存储varchar
    private String nickName; // 昵称，使用String类型
    private String email; // 电子邮件地址，使用String类型
    private String phonenumber; // 电话号码，使用String类型（这里假设电话号码可能包含非数字字符，如加号、括号等）
    private String sex; // 性别，使用String类型（这里假设性别以字符串形式存储，如"男"、"女"）
    private String avatar; // 头像，使用String类型（可能存储头像的URL或路径）
    private String salt; // 盐值，用于密码加密，使用String类型
    private String status; // 状态，使用Integer类型来存储int（假设状态码为整数）
    private String delFlag;
    private String loginIp;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime loginDate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String createBy;
    private String password;
    private String remark;
    private Dept dept;
    private List role;
    private String roleIs;
    private Role roles;
    private List roleIds;
    private List postId;
    private String deptName;
}
